/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sistema.tools;

import com.sistema.db.Banco;
import java.sql.ResultSet;

/**
 *
 * @author gr
 */
public class Data
{

    /*
     * Inverte data para instruções sql
     */
    public static String inverteSql( String data )
    {

        String aaaa = "";
        String mm = "";
        String dd = "";
        String dt_invertida = "";


        if ( data.length() >= 9 )
        {
            if ( ( data.charAt( 2 ) == '/' ) && ( data.charAt( 5 ) == '/' ) )
            {
                aaaa = data.charAt( 6 ) + "" + data.charAt( 7 ) + "" + data.charAt( 8 ) + "" + data.charAt( 9 );
                mm = data.charAt( 3 ) + "" + data.charAt( 4 );
                dd = data.charAt( 0 ) + "" + data.charAt( 1 );

                dt_invertida = aaaa + "-" + mm + "-" + dd;
            } else
            {
                dt_invertida = "0";
            }

        } else
        {
            //dt_invertida = "0000-00-00";
            dt_invertida = "0";
        }

        return dt_invertida;
    }


    /*
     * Inverte datetime para instrução sql
     */
    public static String inverteSqlDatetime( String data )
    {

        String aaaa = "";
        String mm = "";
        String dd = "";
        String dt_invertida = "";
        String hora = "";


        if ( data.length() >= 9 )
        {
            if ( ( data.charAt( 2 ) == '/' ) && ( data.charAt( 5 ) == '/' ) )
            {

                aaaa = data.charAt( 6 ) + "" + data.charAt( 7 ) + "" + data.charAt( 8 ) + "" + data.charAt( 9 );
                mm = data.charAt( 3 ) + "" + data.charAt( 4 );
                dd = data.charAt( 0 ) + "" + data.charAt( 1 );

                for ( int x = 10; x <= 18; x++ )
                {
                    hora = hora + data.charAt( x );
                }

                dt_invertida = aaaa + "-" + mm + "-" + dd + hora;
            } else
            {
                dt_invertida = "0";
            }
        } else
        {
            //dt_invertida = "0000-00-00 00:00:00";
            dt_invertida = "0";
        }

        return dt_invertida;
    }

    /*
     * Inverte data do banco para aplicação
     */
    public static String inverteAplicacao( String data )
    {

        String aaaa = "";
        String mm = "";
        String dd = "";
        String dt_invertida = "";


        if ( data.length() >= 9 )
        {
            if ( ( data.charAt( 4 ) == '-' ) && ( data.charAt( 7 ) == '-' ) )
            {
                aaaa = data.charAt( 0 ) + "" + data.charAt( 1 ) + "" + data.charAt( 2 ) + "" + data.charAt( 3 );
                mm = data.charAt( 5 ) + "" + data.charAt( 6 );
                dd = data.charAt( 8 ) + "" + data.charAt( 9 );

                dt_invertida = dd + "/" + mm + "/" + aaaa;
            
            } else
            {
                dt_invertida = "0";
            }

        } else
        {
            //dt_invertida = "00/00/0000";
            dt_invertida = "0";
        }

        return dt_invertida;
    }

    /*
     * Inverte datetime do banco para aplicação
     */
    public static String inverteDatetime( String data )
    {

        String aaaa = "";
        String mm = "";
        String dd = "";
        String dt_invertida = "";
        String hora = "";


        if ( data.length() >= 9 )
        {
            if ( ( data.charAt( 4 ) == '-' ) && ( data.charAt( 7 ) == '-' ) )
            {
                aaaa = data.charAt( 0 ) + "" + data.charAt( 1 ) + "" + data.charAt( 2 ) + "" + data.charAt( 3 );
                mm = data.charAt( 5 ) + "" + data.charAt( 6 );
                dd = data.charAt( 8 ) + "" + data.charAt( 9 );

                for ( int x = 10; x <= 18; x++ )
                {
                    hora = hora + data.charAt( x );
                }

                dt_invertida = dd + "/" + mm + "/" + aaaa + hora;
            
            } else
            {
                dt_invertida = "0";
            }

        } else
        {
            //dt_invertida = "00/00/0000 00:00:00";
            dt_invertida = "0";
        }

        return dt_invertida;
    }

    public String validaHora( String hora )
    {
        char vtHora[] = hora.toCharArray();
        String hr = "0";
        boolean horaErrada = false;

        for( int x=0; x < vtHora.length; x++ )
        {
            if( vtHora[x] == '_' )
            {
                horaErrada = true;
            }
        }

        if( horaErrada == true )
        {
            hr = "0";
        }else
        {
            hr = hora;
        }
        return hr;
    }

    public static void main( String args[] )
    {
        Banco conn = new Banco();
        ResultSet rs = conn.executarConsulta( "SELECT ultimo_acesso FROM usuarios WHERE id = 3" );

        String x = "";

        try
        {
            while ( rs.next() )
            {
                x = rs.getString( "ultimo_acesso" );

            }
        } catch ( Exception e )
        {
            e.printStackTrace();
        }

        Data dt = new Data();
        String a = "10/08/2010";
        String b = "10/08/2010 01:30:22";

        System.out.println( dt.inverteAplicacao( x ) );
        System.out.println( dt.inverteDatetime( x ) );
        System.out.println( dt.inverteSql( a ) );
        System.out.println( dt.inverteSqlDatetime( b ) );

    }
}
